PySpark详细安装教程+实例 您所在的位置:网站首页 pyspark 安装教程 PySpark详细安装教程+实例

PySpark详细安装教程+实例

2024-03-31 22:47| 来源: 网络整理| 查看: 265

目录

一、升级Python2为Python3

二、配置Spark,使其指向python3(前期已经配置好Spark环境)

三、启动Spark

四、常见报错

五、实例运行

实例1-查看包含a,b的行数

实例2-查看文件目录中前top的值

一、升级Python2为Python3 sudo apt-get install python3 alias python=python3 二、配置Spark,使其指向python3(前期已经配置好Spark环境) vim ~/.bashrc export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH export PYSPARK_PYTHON=python3 三、启动Spark cd /usr/local/hadoop ./sbin/start-dfs.sh cd /usr/local/spark ./bin/pyspark #进入pyspark交互环境,单机模式 四、常见报错 No module named py4j

解决办法:进入 $SPARK_HOME/python/lib/ 里面检查py4j 的版本号和你刚才添加到 ~/.bashrc 里面的版本号一样!

五、实例运行 实例1-查看包含a,b的行数

修改日志输出类型(防止输出大量心跳信息,修改log4j Catgory中INFO为ERROR)-创建python文件-提交submit运行-输出结果

cd /usr/local/spark/conf ll cp log4j.properties.template log4j.properties vim log4j.properties cd /usr/local/spark mkdir -p mycode/python #有子目录需要加-p vim WordCount.py #计算文件中包含a和b的行数 from pyspark import SparkConf,SparkContext conf = SparkConf().setMaster("local").setAppName("My App")#配置环境信息 sc = SparkContext(conf=conf)#创建指挥官 logFile = "file:///usr/local/spark/README.md" #注意本地file文件需要/// logData = sc.textFile(logFile,2).cache() #将数据读入 numAs = logData.filter(lambda line:'a' in line).count() numBs = logData.filter(lambda line:'b' in line).count() print('Line with a:%s,Line with b:%s'%(numAs,numBs)) #提交submit运行 /usr/local/spark/bin/spark-submit - /usr/local/spark/mycode/python/WordCount.py

输出结果

实例2-查看文件目录中前top的值 from pyspark import SparkConf,SparkContext conf = SparkConf().setMaster("local").setAppName("ReadHBase") sc = SparkContext(conf=conf) lines = sc.textFile("file:///usr/local/spark/mycode/rdd/file") #注意传的是一个目录 result1 = lines.filter(lambda line:(len(line.strip())>0) and (len(line.split(','))==4)) result2 = result1.map(lambda x:x.split(",")[2]) result3 = result2.map(lambda x:(int(x),"")) result4 = result3.repartition(1)#保证全局有序 result5 = result4.sortByKey(False) result6 = result5.map(lambda x:x[0]) result7 = result6.take(5) for i in result7: print(i)

其中一个file文件示例

1,1768,40,155 2,22,34,22 3,34,55,23 4,45,33,242 5,33,67,345


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有